package 力扣;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

//给定一个非负整数 numRows，生成杨辉三角的前 numRows 行。
public class 杨辉三角 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n=sc.nextInt();
        List<List<Integer>> lists = generate(n);
        for (List<Integer> list : lists) {
            for (int i = 0; i < list.size(); i++) {
                System.out.print(list.get(i)+" ");
            }
            System.out.println();
        }

    }
    public static List<List<Integer>> generate(int numRows) {
        List<List<Integer>> lists = new ArrayList<>();
        for (int i = 0; i < numRows; i++) {
            //每次循环建一个list数组
            List<Integer> list = new ArrayList<>();
            for (int j = 0; j <=i; j++) {
                //如果是第一个和最后一个，则直接添加1
                if (j==0 || j==i)
                    list.add(1);
                else
                    list.add(lists.get(i-1).get(j-1)+lists.get(i-1).get(j));
            }
            lists.add(list);
        }
        return lists;
    }
}
